package org.example.medical.Mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.example.medical.entity.VisitRecord;

import java.util.List;

@Mapper
public interface VisitRecordMapper {
    // 查询就诊记录分页数据
    List<VisitRecord> selectByPageAndFilters(
            @Param("patientName") String patientName,
            @Param("doctorName") String doctorName,
            @Param("type") String type,
            @Param("visitTime") String visitTime,
            @Param("department") String department,
            @Param("offset") int offset,
            @Param("size") int size
    );

    // 新增收诊记录
    void insertVisitRecord(VisitRecord visitRecord);

    // 更新就诊记录
    void updateVisitRecord(VisitRecord visitRecord);

    // 删除就诊记录
    void deleteVisitRecord(@Param("recordId") Long recordId);

    void batchSoftDeleteVisitRecords(@Param("recordIds") List<Long> recordIds);
    List<Long> getRecordIdsByPatientId(int patientId);
    List<Long> getRecordIdsByUserId(int userId);
}